From: Jonas Dreßler Date: Sun, 26 Jul 2020 11:26:20 +0000 (+0200) Subject: st/private: Multiply position in fb coordinates with resource scale X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~69 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=18155fc6ea9cbc7e414314c82940459f4a157b25;p=gnome-shell.git st/private: Multiply position in fb coordinates with resource scale The framebuffer we use for rendering shadows is scaled by the resource scale, that means we also need to offset coordinates when translating them to the framebuffers coordinate system. So far we forgot to do that when translating the framebuffer using the position of the actor, which lead to small rendering bugs of text-shadows for actors allocated at non-zero origins. To fix that, simply multiply those positions with the actors resource scale. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1390 --- diff --git a/src/st/st-private.c b/src/st/st-private.c index a491c1953..129c87f51 100644 --- a/src/st/st-private.c +++ b/src/st/st-private.c @@ -508,6 +508,8 @@ _st_create_shadow_pipeline_from_actor (StShadow *shadow_spec, cogl_color_init_from_4ub (&clear_color, 0, 0, 0, 0); clutter_actor_get_position (actor, &x, &y); + x *= resource_scale; + y *= resource_scale; cogl_framebuffer_clear (fb, COGL_BUFFER_BIT_COLOR, &clear_color); cogl_framebuffer_translate (fb, -x, -y, 0);